package com.bw.lib_core.mvvm.view;

import android.os.Bundle;

import com.bw.lib_core.bean.ErrorBean;

public interface IView {

    /**
     * 提供DataBinding绑定Layout
     */
    int bandingLayout();

    /**
     * BR 返回用于ViewModel绑定到DataBinding
     */
    int initVariableId();

    /**
     * 接收参数
     */
    void initParam();

    /**
     * 状态栏操作
     */
    void initBar();

    /**
     * 观察者模式事件处理
     */
    void initObserver();

    /**
     * 页面更换
     */
    void startPage(Class<?> aClass);

    /**
     * 页面更换,携带参数
     */
    void startPage(Class<?> aClass, Bundle bundle);

    /**
     * 展示加载中
     */
    void showLoading();

    /**
     * 隐藏加载中
     */
    void hideLoading();

    /**
     * 展示错误
     */
    void showError(ErrorBean bean);


    /**
     * 隐藏错误
     */
    void hideError();
}
